Users of audio processing software, such as, for example, digital audio workstations (DAW's), etc., often utilize effects racks with various digital signal processing plug-ins. These plug-ins can be used to process audio signals by adding a wide variety of effects such as distortion, reverb, chorus, etc. Typically, such plug-ins are serially ordered and utilize a single CPU core, such that, for example, a distortion plug-in will distort a signal before the signal is passed to a reverb plug-in where reverb will be added, etc.
In many instances, the number of plug-ins being used, along with the processing load associated with each plug-in, can be substantial enough to cause a performance bottleneck at the single CPU core. This can include, for example, audio dropouts as the CPU core becomes overloaded.
Attempts have been made to address this issue by performing, for example, look-ahead processing. However, such approaches require audio signals to be pre-buffered, which can lead to problems including audio latency, late rendering of real-time parameter changes, etc.